home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / ifl_c / iflDataSize.z / iflDataSize
Text File  |  1998-10-30  |  6KB  |  133 lines

  1.  
  2.  
  3.  
  4. iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiiffffllllDDDDaaaattttaaaaCCCClllloooosssseeeessssttttTTTTyyyyppppeeee,,,, iiiiffffllllDDDDaaaattttaaaaIIIIssssIIIInnnntttteeeeggggrrrraaaallll,,,, iiiiffffllllDDDDaaaattttaaaaIIIIssssSSSSiiiiggggnnnneeeedddd,,,, iiiiffffllllDDDDaaaattttaaaaMMMMaaaaxxxx,,,,
  10.      iiiiffffllllDDDDaaaattttaaaaMMMMiiiinnnn,,,, iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee,,,, iiiiffffllllDDDDaaaattttaaaaTTTTyyyyppppeeeeFFFFrrrroooommmmRRRRaaaannnnggggeeee - convenience functions for
  11.      using IFL data types
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      #include <ifl/iflCdefs.h>
  15.  
  16.  
  17.           iflDataType iflDataClosestType(iflDataType desired,
  18.                                          int allowed, int flags)
  19.           int iflDataIsIntegral(iflDataType type)
  20.           int iflDataIsSigned(iflDataType type)
  21.           double iflDataMax(iflDataType type)
  22.           double iflDataMin(iflDataType type)
  23.           int iflDataSize(iflDataType type, int count=1)
  24.           iflDataType iflDataTypeFromRange(double minVal, double maxVal)
  25.  
  26.  
  27. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  28.      These functions operate on IFL data types and are provided for
  29.      convenience.  Each function is standalone and is not a member function of
  30.      any object.
  31.  
  32.      The data types used in the IFL are specified by the enumerated type,
  33.      _i_f_l_T_y_p_e, as defined in <_i_f_l/_i_f_l_T_y_p_e_s._h>. The following IFL data types are
  34.      valid:  _i_f_l_B_i_t, _i_f_l_U_C_h_a_r, _i_f_l_C_h_a_r, _i_f_l_U_S_h_o_r_t, _i_f_l_S_h_o_r_t, _i_f_l_U_I_n_t, _i_f_l_I_n_t,
  35.      _i_f_l_F_l_o_a_t, _i_f_l_D_o_u_b_l_e.
  36.  
  37.      iiiiffffllllDDDDaaaattttaaaaCCCClllloooosssseeeessssttttTTTTyyyyppppeeee() returns the data type closest to the _d_e_s_i_r_e_d type in
  38.      the set specified by the mask of data types in _a_l_l_o_w_e_d. The _f_l_a_g_s
  39.      parameter is the logical or of any of the folowing options:
  40.  
  41.           iiiiffffllllDDDDaaaattttaaaaWWWWaaaannnnttttSSSSiiiiggggnnnneeeedddd   consider only signed types from allowed (unless
  42.                               there aren't any, then fall back on unsigned
  43.                               values)
  44.  
  45.           iiiiffffllllDDDDaaaattttaaaaAAAAnnnnyyyySSSSiiiiggggnnnn      consider both signed and unsigned types.  The
  46.                               default behaviour is to consider types that
  47.                               match the signed/unsigned nature of _d_e_s_i_r_e_d.
  48.  
  49.           iiiiffffllllDDDDaaaattttaaaaDDDDeeeemmmmooootttteeee       don't allow type promotion; only consider types
  50.                               of the same size of smaller.
  51.  
  52.      iiiiffffllllDDDDaaaattttaaaaIIIIssssIIIInnnntttteeeeggggrrrraaaallll rrrreeeettttuuuurrrrnnnnssss TTTTRRRRUUUUEEEE iiiiffff _t_y_p_e iiiissss aaaannnn iiiinnnntttteeeeggggrrrraaaallll vvvvaaaalllluuuueeeedddd IIIIFFFFLLLL ttttyyyyppppeeee.... IIIIffff
  53.      _t_y_p_e iiiissss aaaa ffffllllooooaaaattttiiiinnnngggg ppppooooiiiinnnntttt IIIIFFFFLLLL ttttyyyyppppeeee,,,, tttthhhheeeennnn FFFFAAAALLLLSSSSEEEE iiiissss rrrreeeettttuuuurrrrnnnneeeedddd....
  54.  
  55.      iiiiffffllllDDDDaaaattttaaaaIIIIssssSSSSiiiiggggnnnneeeedddd() returns TRUE if _t_y_p_e is a signed IFL type. If _t_y_p_e is
  56.      an unsigned IFL type, then FALSE is returned.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee((((3333))))    IIIImmmmaaaaggggeeee FFFFoooorrrrmmmmaaaatttt LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee((((3333))))
  71.  
  72.  
  73.  
  74.      iiiiffffllllDDDDaaaattttaaaaMMMMaaaaxxxx() returns the maximum value possible for the given data type,
  75.      _t_y_p_e.
  76.  
  77.      iiiiffffllllDDDDaaaattttaaaaMMMMiiiinnnn() returns the minimum value possible for the given IFL data
  78.      type, _t_y_p_e.
  79.  
  80.      iiiiffffllllDDDDaaaattttaaaaSSSSiiiizzzzeeee() returns the size in bytes required to hold the number of
  81.      values specified by _c_o_u_n_t, of the given data type, _t_y_p_e.
  82.  
  83.      iiiiffffllllDDDDaaaattttaaaaTTTTyyyyppppeeeeFFFFrrrroooommmmRRRRaaaannnnggggeeee() returns the IFL data type required to hold the
  84.      range of values specified by _m_i_n_V_a_l and _m_a_x_V_a_l.
  85.  
  86. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  87.      _i_f_l/_i_f_l_T_y_p_e_s._h
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.